<template>
  <div class="page-home">
    <!-- 焦点部分 -->
    <div class="home-entry">
      <div class="container">
        <!-- 左侧分类 -->
        <HomeCategory />
        <!-- banner轮播图 -->
        <HomeBanner/>
      </div>
    </div>
    <!-- 楼层 - 新鲜好物 -->
    <!-- <HomePanel title="新鲜好物" subTitle="新鲜好物副标题">
      <template #right>
<a href="#">获取更多</a>
      </template>
      <h1>主体</h1>
    </HomePanel> -->
    <!-- <HomeNew /> -->
    <!-- 人气推荐 -->
       <!--
      🔔Vue3 新特性：Suspense 组件
          1. 可配合异步组件使用，加载的 loading 效果可以放 #fallback 插槽中
        2. 被 Suspense 默认插槽包裹的组件，可以用 async setup ( setup 返回 Promise 能被处理 )
    -->
    <Suspense>
      <template #default>
      <div>
          <!-- 楼层 - 新鲜好物 -->
          <HomeNew />
          <!-- 楼层 - 人气推荐 -->
          <HomeHot />
        </div>
      </template>
      <template #fallback>
        <h1>异步组件加载中...</h1>
      </template>
    </Suspense>
  </div>
</template>
<script>
import HomeCategory from './components/home-categroy.vue'
import HomeBanner from './components/home-banner.vue'
// import HomePanel from './components/home-panel.vue'
import HomeNew from './components/home-new.vue'
// 定义异步组件的函数 defineAsyncComponent
import { defineAsyncComponent } from 'vue'
// import HomeHot from './components/home-hot.vue'

export default {
  name: 'PageHome',
  components: {
    HomeBanner,
    HomeCategory,
    HomeNew,
    // 定义异步组件
    HomeHot: defineAsyncComponent(() => import('./components/home-hot.vue'))
  }
}
</script>
